package com.hfi.factorymethod.demo01;

/**
 * 工厂方法的优点：符合开放-封闭原则 新增产品 就增加新的工厂
 * 工厂方法的问题：客户端需要决定实例化哪一个工厂来生产产品
 * 也就是说，工厂方法把简单工厂的内部逻辑移到了客户端代码来进行
 * 你想添加新的产品，在简单工厂中是修改简单工厂，在工厂方法中是在客户端实例化新的工厂
 *
 * @author ChangLiang
 * @date 2019/12/12
 */
public class Main {

    public static void main(String[] args) {
        MobileFactory factory;

        factory = new MotorolaFactory();
        factory.ProduceMobile().call();

        factory = new NokiaFactory();
        factory.ProduceMobile().call();
    }
}
